This invention concerns data processing. More particularly, the invention concerns error correction information useful in processing an incoming signal such as a signal obtained by reading media such as DVD discs.
A digital data stream from an optical storage device can contain a serial data signal in a binary pattern. Digital data streams are read from various forms of digital media, including CD (compact disc) and DVD formats. CD formats include CD-ROM, CD-audio, CD-R (CD write once) and CD-RW. The data are typically read from selected data locations in order to recover the original data encoded on the storage media. The problem is that there may be dirt or other foreign material such as fingerprints, organic or inorganic substances. Additionally, there may be scratches on the media or defects stamped in the media during manufacturing that alter the data that is read. The presence of such interfering alterations can damage the data, resulting in elevated data error rates prior to data demodulation and correction.
In Reed-Solomon block encoding of DVD data, a Pxc3x97Q block of data is supplemented with a first group of error control bytes within each of the P rows and with a second group of error control bytes along each of the Q columns of the block, usually at the end of each row or column. These supplemental error control bits allow the system to detect the presence of up to e(P;c) errors in a single column and up to e(Q;r) errors in a single row, if the number of errors in any column or row is not too large, where e(P;c) and e(Q;r) are selected positive integers. Where the number of errors in a given row or given column is too large, detection of presence of one or more errors is possible, but correction of an error in the given row or column is usually impossible using the Reed-Solomon approach. That given row or column must be corrected in some other manner, for example, by retransmission of the given row or column or block. The system may not recognize the presence of a burst error sequence, having too many errors in a given row or column, and may attempt to correct the data and accept the xe2x80x9ccorrectedxe2x80x9d data for later processing, which will produce erroneous results.
What is needed is an approach that allows a given row or column of bytes to be flagged in a clear and unambiguous sense for DVD media, where that row or column is tested and found to contain more than a permitted number of errors. Preferably, the approach should be extendible to an arbitrary size data block and should be flexible enough to permit some variation in the flags or other indicia used to indicate presence of burst errors.
When a defect on a disk is being read, defect detection circuitry will generate a defect detect signal that can be used to mark the data being written to a buffer. An error correction code (ECC) processor can easily determine if a codeword is correctable or uncorrectable, by checking the number of error markers in the codeword. If the number of error markers is greater than an error threshold number, the processor will mark the codeword as uncorrectable. If the number of error markers is no greater than the error threshold number, the processor can correct the error. However, if a defect signal is not provided and the number of corrupted symbols in a codeword is greater than the error threshold number, as where a burst error is present, the ECC processor may produce a xe2x80x9ccorrectedxe2x80x9d codeword that is not, in fact, fully corrected.
When a column (or row) in a data block is tested and found to contain more than a threshold number of errors, the symbol values (e.g., byte values) in a selected number of columns (or rows) in that block are associated with (or overwritten by) a distinguishable symbol value (xe2x80x9cDSVxe2x80x9d) whose presence is easily sensed. When one or more DSVs is sensed in a data block, that data block can be subjected to an error control treatment, other than error detection code (EDC) and Reed-Solomon ECC, to attempt to correct the errors and to recover the original correct data in the block.
According to the invention, when a column (or row) of the data block is found to have more than the threshold number of errors, a selected number w of (preferably consecutive) DSVs is placed in at least one column (or in at least one row) of the block. When the block is further processed and the presence of the DSVs is sensed, the system interprets this occurrence as indicating that a group of errors has occurred in a column and/or row of the block.
According to the invention, the determination is made for a serial data stream. The determination is made when reading disc media, which in a particular embodiment is disc media which in some instances conforms to the DVD format. The determination is made for disc media that conform to the DVD format and may also apply for disc media which conforms to a CD format.